/*
 * @Descripttion: 
 * @version: 
 * @Author: wtzhang
 * @Date: 2021-05-28 10:12:43
 * @LastEditors: wtzhang
 * @LastEditTime: 2021-05-31 08:56:05
 */

// 引入依赖
const mongoose = require('mongoose')

// 连接数据库
mongoose.connect('mongodb://localhost:27017/itcast', {
  useNewUrlParser: true,
  useUnifiedTopology: true
})

// 3. 设计文档结构（表结构）
// 字段名称就是表结构的属性名称
// 约束的目的就是为了保证数据的完整性，不要有脏数据
let userSchema = mongoose.Schema({
  username: {
    type: String,
    required: true // 必须有，不能为空
  },
  password: {
    type: String,
    required: true
  },
  gender: {
    type: String
  }
})

// 注册实例
let User = mongoose.model('User', userSchema)

// 操作
User.find().then(function (data) {
  // console.log(data);
})

User.findOne({
  username: 'rose'
}).then(function (res) {
  if (res) {
    console.log('该用户已经存在！');
  } else {
    console.log('该用户未存在，可以注册！');
    setTimeout(() => {
      return new User({
        username: 'rose',
        password: '1234',
        gender: '女'
      }).save()
    }, 3000)
  }
}).then(function (res) {
})
